﻿/*<copyright>
Mo+ Solution Builder is a model oriented programming language and IDE, used for building models and generating code and other documents in a model driven development process.

Copyright (C) 2013 Dave Clemmer, Intelligent Coding Solutions, LLC

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program.  If not, see <http://www.gnu.org/licenses/>.
</copyright>*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows;
using System.Windows.Input;
using MoPlus.ViewModel;
using MoPlus.ViewModel.Entities;
using MoPlus.ViewModel.Solutions;
using MoPlus.SolutionBuilder.WpfClient.Resources;
using System.IO;
using System.Runtime.Serialization;
using MoPlus.Interpreter.BLL.Entities;
using MoPlus.Interpreter;

namespace MoPlus.SolutionBuilder.WpfClient.Library
{
	public class UserSettingsHelper : BusinessObjectBase
	{
		private static UserSettingsHelper _instance = null;
		///--------------------------------------------------------------------------------
		/// <summary>This property gets the singleton Instance.</summary>
		///--------------------------------------------------------------------------------
		public static UserSettingsHelper Instance
		{
			get
			{
				if (_instance == null)
				{
					_instance = new UserSettingsHelper();
				}
				return _instance;
			}
		}

		protected float _controlSize = BusinessConfiguration.ControlSize;
		///--------------------------------------------------------------------------------
		/// <summary>This property gets or sets the ControlSize.</summary>
		///--------------------------------------------------------------------------------
		public float ControlSize
		{
			get
			{
				return _controlSize;
			}
			set
			{
				if (_controlSize != value)
				{
					_controlSize = value;
					BusinessConfiguration.ControlSize = value;
					OnPropertyChanged("ControlSize");
				}
			}
		}
	}
}
